#ifndef OSDEP_H
#define OSDEP_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>

#ifndef O_BINARY
#define O_BINARY 0
#endif

// 文件操作封装
int qemu_open(const char *filename, int flags, ...);
int qemu_close(int fd);
ssize_t qemu_read(int fd, void *buf, size_t count);
ssize_t qemu_write(int fd, const void *buf, size_t count);
off_t qemu_lseek(int fd, off_t offset, int whence);
int qemu_fstat(int fd, struct stat *buf);
int qemu_ftruncate(int fd, off_t length);

// 内存操作封装
void *qemu_memalign(size_t alignment, size_t size);
void qemu_vfree(void *ptr);

#endif